package cc.demo01;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author ${崔灿}
 * @date 2022/10/26 16:50
 **/

public class MyAnnotation02 {

}
@Target(value = {ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@interface  A{
    //一旦定义好属性，如果该方法没有默认值，那么必须在使用该注解时指定属性的值
    int age() default 18;
    //如果是数组 那么，在使用该注解的该属性的值 使用{}来给定
    String [] hobby();

    My my();
    B b();
}

@interface  B {
    String name();
}

@A(hobby = {"吃饭","睡觉","玩游戏"},my = My.AGE,b=@B(name="张三"))
class Student{

}
enum My{
    TYPE,NAME,AGE
}
